Certain kinds of encoders (see list, and please update with your encoder model if this has solved your problem) will increment/decrement more than one value, skip around, or change values just by touching it.  This fix is only for up to MIOS version 1.9f.



List of encoders with known issues:


Alps EC12 Series
Bourns PEC-11 Series



To fix:

1.  Update MIOS to version 1.9f.


2.  Change the setup*.asm file for your application to include the statement "#define MIOS_ENC_MODE_DETENTED3 0x82" immediately after the "org" statement.


{{http://www.sub-version.net/images/midibox/detented3.jpg}}


Also you must change the table further down in the file.


{{http://www.sub-version.net/images/midibox/detented3_2.jpg}}


Save your changes.


3.  The .asm file must be recompiled.  I used MPASM ([[http://www.melabs.com/support/mpasm.htm]]) and it was very easy to do.  Be sure to recompile the setup*.asm file and not main.asm.


4.  Once you have the setup file edited and recompiled, simply upload the application via MIOS Studio and you're set.